Add installation of the udev rules if appropriate. With a normal 'make
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 7 Oct 2005 13:47:45 +0000 (14:47 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 7 Oct 2005 13:47:45 +0000 (14:47 +0100)
install', the udev rules will be installed if udev version is >= 059;
otherwise, the hotplug rules get installed.

When 'make dist' is done, we set a variable so that both hotplug and
udev rules are installed into the dist tarball.  install.sh then takes
care of picking the proper rules.

Also changes the hotplug check to look for a proper udev version

Signed-off-by: Jeremy Katz <katzj@redhat.com>
install.sh
tools/check/check_hotplug
tools/examples/Makefile

index 295f0843749505d067869a9abb9f519cf5a5b53c..49e88a2556b9ec792b9320ce84d8583c934d029c 100755 (executable)
@@ -23,10 +23,16 @@ if ! [ -d $dst ]; then
 fi
 
 echo "Installing Xen from '$src' to '$dst'..."
-(cd $src; tar -cf - --exclude etc/init.d * ) | tar -C $dst -xf -
+(cd $src; tar -cf - --exclude etc/init.d --exclude etc/hotplug --exclude etc/udev * ) | tar -C $dst -xf -
 cp -fdRL $src/etc/init.d/* $dst/etc/init.d/
 echo "All done."
 
+if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then
+  cp -f $src/etc/udev/rules.d/*.rules $dst/etc/udev/rules.d/
+else
+  cp -f $src/etc/hotplug/*.agent $dst/etc/hotplug/
+fi
+
 echo "Checking to see whether prerequisite tools are installed..."
 cd $src/../check
 ./chk install
index 15c902171ccfa1398236cbb2d0e684c37b57ca24..df8a3280965d938ee4168a307f3940d3a4aca350 100644 (file)
@@ -7,4 +7,8 @@ function error {
    exit 1
 }
 
+if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `udev -V` -ge 059 ]; then
+  exit 0
+fi
+
 which hotplug 1>/dev/null 2>&1 || error
index 17d93453a17e720caf2c65cbbbcba81213fd2bdb..e09a35a8acca7d62723423e3062c80441a951c1c 100644 (file)
@@ -28,10 +28,23 @@ XEN_SCRIPTS += block-enbd
 XEN_HOTPLUG_DIR = /etc/hotplug
 XEN_HOTPLUG_SCRIPTS = xen-backend.agent
 
+UDEV_RULES_DIR = /etc/udev/rules.d
+UDEV_RULES = xen-backend.rules
+
+ifeq ($(findstring $(DISTDIR),$(DESTDIR)),$(DISTDIR))
+HOTPLUGS=install-hotplug install-udev
+else
+ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ] && echo 1),1)
+HOTPLUGS=install-udev
+else
+HOTPLUGS=install-hotplug
+endif
+endif
+
 all:
 build:
 
-install: all install-initd install-configs install-scripts install-hotplug
+install: all install-initd install-configs install-scripts $(HOTPLUGS)
 
 install-initd:
        [ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
@@ -64,4 +77,12 @@ install-hotplug:
            $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
        done
 
+install-udev:
+       [ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)
+       for i in $(UDEV_RULES); \
+           do \
+           $(INSTALL_PROG) $$i $(DESTDIR)$(UDEV_RULES_DIR); \
+       done
+
 clean: